//#include <iostream>
//#include <cstdio>
//#include <vector>
//
//using namespace std;
//
//vector<int> add(vector<int> &A, vector<int> &B)
//{
//	vector<int> C;
//	int t = 0;
//	for(int i = 0; i < A.size() || i < B.size(); ++i)
//	{
//		if (i < A.size())
//		{
//			t += A[i];	
//		}
//		
//		if (i < B.size())
//		{
//			t += B[i];
//		}
//		
//		C.push_back(t % 10);
//		t /= 10;
//	}
//	
//	if (t)
//	{
//		C.push_back(1);
//	}
//	
//	while(C.size() > 1 && C.back() == 0)
//	{
//		C.pop_back();
//	}
//	return C;
//}
//
//int main()
//{
//	string a, b;
//	cin >> a >> b;
//	vector<int> A, B;
//	for(int i = a.size() - 1; i >= 0; --i)
//	{
//		A.push_back(a[i] - '0');
//	}
//	
//	for(int i = b.size() - 1; i >= 0; --i)
//	{
//		B.push_back(b[i] - '0');
//	}	
//	
//	vector<int> C = add(A,B);
//	
//	for(int i = C.size() - 1; i >= 0; --i)
//	{
//		printf("%d",C[i]);
//	}
//	
//	printf("\n");
//	return 0;
//}



//#include <iostream>
//#include <cstdio>
//#include <vector>
//using namespace std;
//
//bool cmp(vector<int> &A, vector<int> &B)
//{
//	if (A.size() != B.size() )
//	{
//		return A.size() > B.size();
//	}
//	else
//	{
//		for(int i = A.size() - 1; i >= 0; --i)
//		{
//			if (A[i] != B[i] )
//			{
//				return A[i] > B[i];
//			}
//		}
//	}
//	return true;
//}
//vector<int> sub(vector<int> &A, vector<int> &B)
//{
//	vector<int> C;
//	int t = 0;
//	for(int i = 0; i < A.size(); ++i)
//	{
//		t = A[i] - t;
//		if (i < B.size())
//		{
//			t -= B[i];
//		}
//	
//		C.push_back( (t + 10) % 10);
//		if (t < 0)
//		{
//			t = 1;
//		}
//		else
//		{
//			t = 0;
//		}
//			
//	}
//	
//	while(C.size() > 1 && C.back() == 0)
//	{
//		C.pop_back();
//	}
//	return C;
//}
//
//int main()
//{
//	string a, b;
//	cin >> a >> b;
//	vector<int> A, B, C;
//	for(int i = a.size() - 1; i >= 0; --i)
//	{
//		A.push_back(a[i] - '0');
//	}
//	
//	for(int i = b.size() - 1; i >= 0; --i)
//	{
//		B.push_back(b[i] - '0');
//	}
//	
//	if (cmp(A,B))
//	{
//		 C = sub(A,B);	
//		 for(int i = C.size() - 1; i >= 0; --i)
//		 {
//		 	printf("%d",C[i]);
//		 }
//	}
//	else
//	{
//		C= sub(B,A);
//		
//		if(C.back() == 0)
//		{
//			printf("0");	
//		}
//		
//		else
//		{
//			printf("-");
//			for(int i = C.size() - 1; i >= 0; --i)
//			{
//				printf("%d",C[i]);
//			}
//	
//			printf("\n");
//		}
//	}
//	return 0;
//}


#include <iostream>
#include <vector>
#include <cstdio>
using namespace std;
vector<int> mul(vector<int> &A, int b)
{
	vector<int> C;
	int t = 0;
	for(int i = 0; i < A.size() || t; ++i)
	{
		if (i < A.size())
		{
			t += A[i] * b;
		}
		C.push_back(t % 10);
		t /= 10;
	}
	
	while(C.size() > 1 && C.back() == 0)
	{
		C.pop_back();
	}
	return C;
}

int main()
{
	string a;
	int b;
	cin >> a >> b;
	vector<int> A,C;
	for(int i = a.size() - 1; i >= 0; --i)
	{
		A.push_back(a[i] - '0');
	}
	
	C = mul(A,b);
	
	for(int i = C.size() - 1; i >= 0; --i)
	{
		printf("%d",C[i]);
	}
	printf("\n");
	return 0;
}





